//============================================================================
// Nome        : Consulta.h
// Autores     : T1G7
//                                      Felipe Galvão do Espírito Santo
//                                      Ivanilda Maísa Costa Brazão de Almeida
//                                      Paulo Jorge de Faria dos Reis
// Versão      : 1.0
// Data        : Maio de 2011
// Copyright   : Creative Commons 2.0
// Descrição   : CAL 2011 - TG1
//               Tema 12 - Transporte de pacientes de uma clínica de saúde.
//============================================================================

#ifndef CONSULTA_H_
#define CONSULTA_H_

#include "DataCal.h"
#include "Cliente.h"
#include "Auxiliar.h"

//! Definição de uma consulta individual dentro do contexto da aplicação.
/*!
 *  Classe básica que possui os dados e funções suficientes para identificar e trabalhar com consultas na aplicação.
 *  Esta classe permite instânciar os elementos a utilizar na classe container Consultas.
 *  Por opção de desenvolvimento, uma consulta não pode ter a sua data alterada. Esta acção a ser realizada é com recurso à eliminação
 *  de uma consulta existente e a criação da nova. Ao alterar a data, a localização deste objecto deve ser alterada na estrutura de dados
 *  da aplicação.
 */
class Consulta
{
public:
	Consulta(DataCal data_consulta, int _id);	//! Construtor que permite criaruma nova consulta.
	Consulta(string linha, const string separadores = ";");		//! Construtor de recuperação dos dados a partir do ficheiro de arquivo.
	~Consulta();							//! Destrutor.
	char* guardar(const string separadores = ";");	//! Devolve uma string que permite guardar o objecto num ficheiro de arquivo.

private:
	DataCal marcacao;		//! Altura em que a consulta está marcada.
	int ID_Cliente; 		//! Apontador para o cliente
};

#endif /* CONSULTA_H_ */
